#ifndef LOGINWINDOW_H
#define LOGINWINDOW_H

#include <QWidget>
#include <QMovie>
#include <QLabel>
#include <QStackedWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGraphicsOpacityEffect>

class LoginWindow : public QWidget {
    Q_OBJECT
public:
    explicit LoginWindow(QWidget *parent = nullptr);

private slots:
    void switchToRegister();  // 切换到注册页
    void switchToLogin();     // 切换回登录页
    void handleLogin();       // 处理登录逻辑
    void handleRegister();    // 处理注册逻辑

private:
    void setupGifBackground();     // 初始化GIF背景
    void setupLoginPage();         // 创建登录页控件
    void setupRegisterPage();      // 创建注册页控件

    QMovie *movie;                // GIF动画
    QLabel *bgLabel;               // 背景标签
    QStackedWidget *stackedWidget; // 页面切换容器

    // 登录页控件
    QLineEdit *loginUserEdit;
    QLineEdit *loginPassEdit;
    QPushButton *loginButton;
    QPushButton *toRegisterButton;

    // 注册页控件
    QLineEdit *regUserEdit;
    QLineEdit *regPassEdit;
    QLineEdit *regConfirmPassEdit;
    QPushButton *registerButton;
    QPushButton *toLoginButton;
};

#endif // LOGINWINDOW_H
